package com.ihr360.cnb.module.insurance.service;

import com.ihr360.excel.vo.CustomSpreadSheetValidateResult;
import com.ihr360.excel.vo.ImportRequest;
import com.ihr360.excel.vo.SpreadSheetValidatorRequest;
import com.ihr360.insurance.entity.request.StaffBenefitRequest;

import javax.servlet.ServletOutputStream;

/**
 * @author Stone.Shi
 * @description
 * @date 2018-05-30 10:54:17.
 */
public interface StaffBenefitImportService {
    /**
     * 下载模板
     *
     * @param companyId
     * @param outputStream
     */
    void downloadTemplateExcel(String companyId, ServletOutputStream outputStream);

    /**
     * 导入数据
     *
     * @param companyId
     * @param userId
     * @param importRequest
     */
    void importExcel(String companyId,
                     String userId, ImportRequest importRequest);

    /**
     * 校验导入的员工数据
     *
     * @param companyId
     * @param validatorRequest
     * @return
     */
    CustomSpreadSheetValidateResult validateExcelData(String companyId,
                                                      SpreadSheetValidatorRequest validatorRequest);

    /**
     * 社保公积金档案数据导出
     *
     * @param companyId
     * @param userId
     * @param request
     * @param outputStream
     */
    void exportExcel(String companyId, String userId, StaffBenefitRequest request, ServletOutputStream outputStream);
}
